#include "mapcontroller.h"

CMapController* CMapController::instance = NULL;

CMapController::CMapController()
	{
	}

CMapController::~CMapController()
	{
	}

CMapController& CMapController::GetInstance()
	{
    if (NULL == instance)
        instance = new CMapController;

    return *instance;
	}

/**
  * 设置地图中心点
  * @param point
  */
 void CMapController::SetCenter(const MPoint& point)
	 {
	 
	 }

 /**
  * 设置地图的缩放级别。 这个值的取值范围是[3,13]。
  * @param zoomLevel - 缩放级别，取值范围是[3,18]
  * @return 新的缩放级别，取值范围[3,18]
  */
 int CMapController::SetZoom(int zoomLevel)
	 {
	 return 0;
	 }
 
 void CMapController::AnimateTo(const MPoint& point)
	 {
	 
	 }
 
 /**
  * 按照给定的像素数据量滚动
  * @param x - 水平滚动的像素数
  * @param y - 垂直滚动的像素数
  */
 void CMapController::ScrollBy(int x,int y)
	 {
	 
	 }

 void CMapController::StopAnimation(TBool b)
	 {
	 
	 }
	
 /**
  * 放大一个级别
  * @return - 如果缩放成功，返回true，如果达到最大极限，返回false。 
  */
 TBool CMapController::ZoomIn()
	 {
	 return EFalse;
	 }

 /**
  * 放大一个级别
  * 这个放大会平移地图使之保持在屏幕的一个固定点上。通过像素坐标来设定固定点
  * @param xPixel - 地图左边固定点缩放的偏移量。 
  * @param yPixel - 地图上方固定点缩放的偏移量。 
  * @return 如果放大成功，返回true；如果达到最大极限，返回false
  */
 TBool CMapController::ZoomInFixing(int xPixel, int yPixel)
	 {
	 return ETrue;
	 }
 
 /**
  * 缩小一个级别
  * @return - 如果成功缩小返回true，如果达到最小极限，则返回false
  */
 TBool CMapController::ZoomOut()
	 {
	 return EFalse;
	 }

 /**
  * 缩小一个级别
  * 这个缩放也将把地图平移到屏幕的一个固定点上。通过像素坐标来设定固定点
  * @param xPixel - 地图左边固定点缩放的偏移量。 
  * @param yPixel - 地图上方固定点缩放的偏移量。 
  * @return 如果缩放成功，返回true；如果达到最小极限，返回false。 
  */
 TBool CMapController::ZoomOutFixing(int xPixel, int yPixel)
	 {
	 return EFalse;
	 }
 
 /**
  * 打开我的位置定位功能
  */
 void CMapController::EnableMyLocation()
	 {
	 
	 }

 /**
  * 打开指南针
  */
 void CMapController::EnableCompass()
	 {
	 
	 }

 /**
  * 设置启用内置的缩放控件
  * @param flag
  */
 void CMapController::SetBuiltInZoomControls(TBool flag)
	 {
	 
	 }
